home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Developer Toolbox 6.1
/
SGI Developer Toolbox 6.1 - Disc 1.iso
/
toolbox
/
src
/
exampleCode
/
opengl
/
GLUT
/
progs
/
demos
/
walker
/
README
< prev
next >
Wrap
Text File
|
1996-11-11
|
5KB
|
120 lines
last updated 11/2/95
BACKGROUND
----------
Walker is a program I wrote with Kanishka Agarwal for our final project
in our graphics class while we were at Harvey Mudd College. I did most
of the viewing, UI, and internals, while Kanishka concentrated on the model.
We both came up with different .cset (curve set) files which make the guy
do various things. We spent dozens of minutes marching around the graphics
lab trying to figure out just how people walk. It was not a rigorous effort.
The program is for modeling human(oid) motion with forward kinetics.
Forward kinetics basically means it does nothing cool for you with respect
to how people really move, how articulated linkages move, or how gravity
works. You must specify the angular displacement of each joint at each
point in time. Also, our model only has 5 joints. AND each joint only
has one degree of freedom.
Okay, so enough about why it sucks; it is cool because you can put together
some neat little animation sequences and it is fun to play with the curves
and see immediate feedback. Plus you can spin the guy around really fast
while he's running: if that's not the sign of a quality graphics program
I don't know what is. And it illustrates how to do an app in GLUT with
simultaneous 2D and 3D displays/interfaces.
INSTRUCTIONS
------------
Basically you've got two windows. One shows the guy; one shows the rotation
curves. You know SGI demos: just click around with all three mouse buttons
on anything that looks interesting and you'll figure it out.
MORE INSTRUCTIONS
-----------------
All I can think of to add are keyboard commands. I have not used the program
myself it several months and can't really remember how to use it. But it
was easy I remember that. Here are keyboard commands you might have missed:
In 3D window, viewer keys:
0-9 and +/- to change speed when in FLYING MODE
(Careful use of flying mode and you can pretend the guy actually
is moving as he's flailing his legs. Or, edit the program so it'll
take another curve which isn't a rotation but a displacement.
For BONUS POINTS: Have the program compute this based on the
rotation curves of the three leg joints.)
In 3D window, walker keys:
f, F: step forward 1, 5 time step(s)
b, B: step backward 1, 5 time step(s)
spacebar: step forward one time step
In 2D (curves) window:
same as 3D window walker keys plus:
1-5: edit curve #1-5
d: stop edit curves
Remember, each of the three buttons in each window does something. I think.
There are pop-up menus, I know that much.
POINTERS
--------
We researched a number of sources before writing this, but I think our main
reference was this book:
Advanced Animation and Rendering Techniques - Theory and Practice
Alan Watt, Mark Watt
Addison-Wesley (ACM Press) 1992
Whatever else we read we probably got from a citation in that book.
But hey if it's on paper it's probably out of date, right? No, but
try these anyway:
http://www.cc.gatech.edu/gvu/animation/
http://robotics.stanford.edu/users/kuffner/human.html
http://market.net/literary/mkp/pages/1554/index.html
DIRECTORY LISTING
-----------------
483 May 15 04:05 Makefile
324 May 15 04:03 walker.h
28346 May 15 03:59 walker.c - most everything, callbacks for both windows
(except AGV for the model window)
17601 May 15 04:00 models.c - models, wireframe, solid rectangles, and
cylinders/spheres. Colors could use a little
work! And you could plug in a totally
different
model and make that work too.
3435 May 12 16:19 walkviewer.h
13095 May 12 16:19 walkviewer.c - basically AGV (a GLUT viewer)
928 May 12 16:19 walking.cset - curves we did...
809 May 12 16:19 running.cset
762 May 12 16:19 bound.cset
978 May 12 16:19 moonwalk.cset
1177 May 12 16:19 dunk.cset
1236 May 12 16:19 reverse_dunk.cset
924 May 12 16:19 kick.cset
882 May 12 16:19 Impossible.cset
754 May 12 16:19 MrFlex.cset
767 May 12 16:19 Ouch.cset
AUTHORS
-------
Kanishka Agarwal - whereabouts unknown
(to me anyway, but I could track him down if need be)
Philip Winston - pwinston@hmc.edu
http://www.cs.hmc.edu/~pwinston/
Email me your .cset files! (unless they're worse than ours)
Also email me if you modify the program substantially or
play with it as a means of procrastination. I'm just
curious.
Ran Libeskind-Hadas - hadas@cs.hmc.edu
http://www.cs.hmc.edu/~hadas/
(He didn't write any code, but he taught the class.
Plus he's a cool guy.)